Imports System.Data
Imports CrystalDecisions.CrystalReports.Engine

Partial Class PlaneacionReporte
  Inherits System.Web.UI.Page

  Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load

    Try
      Dim reporte As New ReportDocument()
      ' Detalle del documento
      reporte.Load(Server.MapPath("~\Documentos\Planeacion\Reporte\rptPlaneacion.rpt"))

      'Datos encabezado
      Dim docPlaneacion As New DataAccesPlaneacion()
      Dim PlaneacionDetalle As New DataSet("DetalleDocumento")
      PlaneacionDetalle = docPlaneacion.Planeacion_DetalleXML(CInt(Request.QueryString("nidDocumento")))
      reporte.SetParameterValue("pCodigo", PlaneacionDetalle.Tables(0).Rows(0)("CODIGO"))
      reporte.SetParameterValue("pFechaSolicitud", CDate(PlaneacionDetalle.Tables(0).Rows(0)("FECHACREACION")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pEmisor", PlaneacionDetalle.Tables(0).Rows(0)("NOMBRE"))

      'Detalle del documento
	  reporte.SetParameterValue("pnid", PlaneacionDetalle.Tables(1).Rows(0)("nid").ToString)
      reporte.SetParameterValue("pnidViaje", PlaneacionDetalle.Tables(1).Rows(0)("nidViaje").ToString)
      reporte.SetParameterValue("pnidNaviera", PlaneacionDetalle.Tables(1).Rows(0)("nidNaviera").ToString)
      reporte.SetParameterValue("pganchosTotales", PlaneacionDetalle.Tables(1).Rows(0)("ganchosTotales").ToString)
      reporte.SetParameterValue("ptonelasTotales", PlaneacionDetalle.Tables(1).Rows(0)("tonelasTotales").ToString)
      reporte.SetParameterValue("ppct_Camiones", PlaneacionDetalle.Tables(1).Rows(0)("pct_Camiones").ToString)
      reporte.SetParameterValue("ppct_FFCC", PlaneacionDetalle.Tables(1).Rows(0)("pct_FFCC").ToString)
      reporte.SetParameterValue("pobservaciones", PlaneacionDetalle.Tables(1).Rows(0)("observaciones").ToString)
      reporte.SetParameterValue("pfInicioOperacion", CDate(PlaneacionDetalle.Tables(1).Rows(0)("fInicioOperacion")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pfFinOperacion", CDate(PlaneacionDetalle.Tables(1).Rows(0)("fFinOperacion")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pnidDocumento", PlaneacionDetalle.Tables(1).Rows(0)("nidDocumento").ToString)
      reporte.SetParameterValue("pfAtraquePosible", CDate(PlaneacionDetalle.Tables(1).Rows(0)("fAtraquePosible")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pcantidad_Camiones", PlaneacionDetalle.Tables(1).Rows(0)("cantidad_Camiones").ToString)
      reporte.SetParameterValue("pcantidad_FFCC", PlaneacionDetalle.Tables(1).Rows(0)("cantidad_FFCC").ToString)
      reporte.SetParameterValue("ppct_Almacen", PlaneacionDetalle.Tables(1).Rows(0)("pct_Almacen").ToString)
      reporte.SetParameterValue("pmciaPeligrosa", PlaneacionDetalle.Tables(1).Rows(0)("mciaPeligrosa").ToString)
      reporte.SetParameterValue("pimpo_Pct_Camiones", PlaneacionDetalle.Tables(1).Rows(0)("impo_Pct_Camiones").ToString)
      reporte.SetParameterValue("pimpo_Pct_FFCC", PlaneacionDetalle.Tables(1).Rows(0)("impo_Pct_FFCC").ToString)
      reporte.SetParameterValue("pimpo_FInicioOperacion", CDate(PlaneacionDetalle.Tables(1).Rows(0)("impo_FInicioOperacion")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pimpo_FFinOperacion", CDate(PlaneacionDetalle.Tables(1).Rows(0)("impo_FFinOperacion")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pimpo_Cantidad_Camiones", PlaneacionDetalle.Tables(1).Rows(0)("impo_Cantidad_Camiones").ToString)
      reporte.SetParameterValue("pimpo_Cantidad_FFCC", PlaneacionDetalle.Tables(1).Rows(0)("impo_Cantidad_FFCC").ToString)
      reporte.SetParameterValue("pimpo_Pct_Almacen", PlaneacionDetalle.Tables(1).Rows(0)("impo_Pct_Almacen").ToString)
      reporte.SetParameterValue("pimpo_Ganchos_Totales", PlaneacionDetalle.Tables(1).Rows(0)("impo_Ganchos_Totales").ToString)
      reporte.SetParameterValue("pimpo_Toneladas_Totales", PlaneacionDetalle.Tables(1).Rows(0)("impo_Toneladas_Totales").ToString)
      reporte.SetParameterValue("pimpo_Observaciones", PlaneacionDetalle.Tables(1).Rows(0)("impo_Observaciones").ToString)
      reporte.SetParameterValue("pcantidad_Pasajeros", PlaneacionDetalle.Tables(1).Rows(0)("cantidad_Pasajeros").ToString)
      reporte.SetParameterValue("pimpo_TerminoCarga", PlaneacionDetalle.Tables(1).Rows(0)("impo_TerminoCarga").ToString)
      reporte.SetParameterValue("pexpo_TerminoCarga", PlaneacionDetalle.Tables(1).Rows(0)("expo_TerminoCarga").ToString)
      reporte.SetParameterValue("pcEnt_TerminoCarga", PlaneacionDetalle.Tables(1).Rows(0)("cEnt_TerminoCarga").ToString)
      reporte.SetParameterValue("pcEnt_Pct_Almacen", PlaneacionDetalle.Tables(1).Rows(0)("cEnt_Pct_Almacen").ToString)
      reporte.SetParameterValue("pcEnt_Pct_Camiones", PlaneacionDetalle.Tables(1).Rows(0)("cEnt_Pct_Camiones").ToString)
      reporte.SetParameterValue("pcEnt_Pct_FFCC", PlaneacionDetalle.Tables(1).Rows(0)("cEnt_Pct_FFCC").ToString)
      reporte.SetParameterValue("pcEnt_FInicioOperacion", CDate(PlaneacionDetalle.Tables(1).Rows(0)("cEnt_FInicioOperacion")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pcEnt_FFinOperacion", CDate(PlaneacionDetalle.Tables(1).Rows(0)("cEnt_FFinOperacion")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pcEnt_Cantidad_Camiones", PlaneacionDetalle.Tables(1).Rows(0)("cEnt_Cantidad_Camiones").ToString)
      reporte.SetParameterValue("pcEnt_Cantidad_FFCC", PlaneacionDetalle.Tables(1).Rows(0)("cEnt_Cantidad_FFCC").ToString)
      reporte.SetParameterValue("pcEnt_Ganchos_Totales", PlaneacionDetalle.Tables(1).Rows(0)("cEnt_Ganchos_Totales").ToString)
      reporte.SetParameterValue("pcEnt_Toneladas_Totales", PlaneacionDetalle.Tables(1).Rows(0)("cEnt_Toneladas_Totales").ToString)
      reporte.SetParameterValue("pcEnt_Observaciones", PlaneacionDetalle.Tables(1).Rows(0)("cEnt_Observaciones").ToString)
      reporte.SetParameterValue("pcSal_TerminoCarga", PlaneacionDetalle.Tables(1).Rows(0)("cSal_TerminoCarga").ToString)
      reporte.SetParameterValue("pcSal_Pct_Almacen", PlaneacionDetalle.Tables(1).Rows(0)("cSal_Pct_Almacen").ToString)
      reporte.SetParameterValue("pcSal_Pct_Camiones", PlaneacionDetalle.Tables(1).Rows(0)("cSal_Pct_Camiones").ToString)
      reporte.SetParameterValue("pcSal_Pct_FFCC", PlaneacionDetalle.Tables(1).Rows(0)("cSal_Pct_FFCC").ToString)
      reporte.SetParameterValue("pcSal_FInicioOperacion", CDate(PlaneacionDetalle.Tables(1).Rows(0)("cSal_FInicioOperacion")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pcSal_FFinOperacion", CDate(PlaneacionDetalle.Tables(1).Rows(0)("cSal_FFinOperacion")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pcSal_Cantidad_Camiones", PlaneacionDetalle.Tables(1).Rows(0)("cSal_Cantidad_Camiones").ToString)
      reporte.SetParameterValue("pcSal_Cantidad_FFCC", PlaneacionDetalle.Tables(1).Rows(0)("cSal_Cantidad_FFCC").ToString)
      reporte.SetParameterValue("pcSal_Ganchos_Totales", PlaneacionDetalle.Tables(1).Rows(0)("cSal_Ganchos_Totales").ToString)
      reporte.SetParameterValue("pcSal_Toneladas_Totales", PlaneacionDetalle.Tables(1).Rows(0)("cSal_Toneladas_Totales").ToString)
      reporte.SetParameterValue("pcSal_Observaciones", PlaneacionDetalle.Tables(1).Rows(0)("cSal_Observaciones").ToString)
      reporte.SetParameterValue("ptrans_TerminoCarga", PlaneacionDetalle.Tables(1).Rows(0)("trans_TerminoCarga").ToString)
      reporte.SetParameterValue("ptrans_Pct_Almacen", PlaneacionDetalle.Tables(1).Rows(0)("trans_Pct_Almacen").ToString)
      reporte.SetParameterValue("ptrans_Pct_Camiones", PlaneacionDetalle.Tables(1).Rows(0)("trans_Pct_Camiones").ToString)
      reporte.SetParameterValue("ptrans_Pct_FFCC", PlaneacionDetalle.Tables(1).Rows(0)("trans_Pct_FFCC").ToString)
      reporte.SetParameterValue("ptrans_FInicioOperacion", CDate(PlaneacionDetalle.Tables(1).Rows(0)("trans_FInicioOperacion")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("ptrans_FFinOperacion", CDate(PlaneacionDetalle.Tables(1).Rows(0)("trans_FFinOperacion")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("ptrans_Cantidad_Camiones", PlaneacionDetalle.Tables(1).Rows(0)("trans_Cantidad_Camiones").ToString)
      reporte.SetParameterValue("ptrans_Cantidad_FFCC", PlaneacionDetalle.Tables(1).Rows(0)("trans_Cantidad_FFCC").ToString)
      reporte.SetParameterValue("ptrans_Ganchos_Totales", PlaneacionDetalle.Tables(1).Rows(0)("trans_Ganchos_Totales").ToString)
      reporte.SetParameterValue("ptrans_Toneladas_Totales", PlaneacionDetalle.Tables(1).Rows(0)("trans_Toneladas_Totales").ToString)
      reporte.SetParameterValue("ptrans_Observaciones", PlaneacionDetalle.Tables(1).Rows(0)("trans_Observaciones").ToString)
      
      

      'Datos Anexos
      Dim anexos As String = ""
      Dim tipos As String = ""
      For i As Integer = 0 To PlaneacionDetalle.Tables(2).Rows.Count - 1
        anexos += PlaneacionDetalle.Tables(2).Rows(i)("NOMBRE") + Chr(13)
        tipos += PlaneacionDetalle.Tables(2).Rows(i)("TIPO") + Chr(13)
      Next
      reporte.SetParameterValue("pAnexos", anexos)
      reporte.SetParameterValue("pAnexoTipo", tipos)

      'Datos Incidencias
      Dim fecha As String = ""
      Dim descripcion As String = ""
      Dim emisor As String = ""
      For i As Integer = 0 To PlaneacionDetalle.Tables(3).Rows.Count - 1
        fecha += CDate(PlaneacionDetalle.Tables(3).Rows(0)("FECHAEMISION")).ToString("dd/MM/yyyy hh:mm:ss") + Chr(13)
        descripcion += PlaneacionDetalle.Tables(3).Rows(i)("DESCRIPCION") + Chr(13)
        emisor += PlaneacionDetalle.Tables(3).Rows(i)("NOMBRE") + Chr(13)
      Next
      reporte.SetParameterValue("pFechaIncidencia", fecha)
      reporte.SetParameterValue("pDescripcionIncidencia", descripcion)
      reporte.SetParameterValue("pEmisorIncidencia", emisor)


      'Cargar informacion de firma electronica
      Dim consultaFirmas As New DataAccesControlCasetasGranel()
      Dim firmas As New DataTable("CasetaFirmas")
      firmas = consultaFirmas.casetaGranelConsultaFirmas(CInt(Request.QueryString("nidDocumento")))
      Dim cadenaFirmas As String = String.Empty
      For Each datoFirma In firmas.Rows
        cadenaFirmas = cadenaFirmas & datoFirma("Firma").ToString() & " "
      Next
      reporte.SetParameterValue("pFirma", cadenaFirmas)

      'crvPlaneacion.ParameterFieldInfo.Clear()
      Me.crvPlaneacion.HasExportButton = False
      Me.crvPlaneacion.HasToggleGroupTreeButton = False
      Me.crvPlaneacion.EnableParameterPrompt = False
      'Me.crvPlaneacion.ParameterFieldInfo = False
      Me.crvPlaneacion.ReportSource = reporte

    Catch ex As Exception
      lblMensaje.Text = "Error al Cargar reporte: " + ex.Message
    End Try
  End Sub

End Class
